Conventionally, when data of an input apparatus such as a camera is stored in an external storage apparatus such as a memory card, a procedure is used in which after a process of writing data from the input apparatus to a main memory is completed, the data is read from the main memory and stored in the external storage apparatus. Generally, when data is stored in the external storage apparatus, there is a need for a control process such as generation of a control command for the external storage apparatus, a management process such as information updating of a file system that manages a data arrangement on the external storage apparatus or the like in addition to a data transfer process. Normally, a storage process such as the control process or the management process is mainly executed by a processor.
In recent years, along with improving image quality of cameras or the like, transfer rates of input data are also improving. Furthermore, along with improving performance of output apparatuses such as memory cards, transfer rates of output data are also improving. For this reason, speed enhancement is also required for storage processes and processors are required to have higher performance.
However, there is a problem that use of a high performance processor causes a significant increase in power consumption. Alternatively, performance of the processor may not catch up with the improvement of the transfer rate, resulting in a problem that data can be stored only at a transfer rate lower than a transfer rate provided for an input apparatus or an external storage apparatus. In the case of video recording, for example, when a transfer rate of input data cannot be controlled, there is also a problem that the input data is dropped and the data is lost.